from typing import Optional
from pydantic import BaseModel


class Token(BaseModel):
    """令牌模型
    
    用于API响应中返回的访问令牌信息
    """
    access_token: str  # 访问令牌字符串
    token_type: str  # 令牌类型，通常为"bearer"


class TokenPayload(BaseModel):
    """令牌载荷模型
    
    用于JWT令牌的解码和验证，包含令牌的主要信息
    """
    sub: Optional[str] = None  # 令牌主题，通常为用户ID